WRITING STABLE TERMINATE AND STAY RESIDENT(TSR) SOFTWARE: SOMETHING THEY'RE NO TELLING US? ------------------------------------------------------------------------------ Through the research and development of our Task Switching program we stumbled onto a problem and couldn't understand why it was occurring. It was the dreaded system lockup (crash) for no indentified reason. We contacted several past Microsoft people as well as continued to study the problem closely. We then discovered that stable programs such as SideKick, Windows, Novell's IPX, and TSR Utilities written by past DOS authors were hooking interrupts for no apparent reason, and were just chaining them back to the original vectors. We again contacted prior employees at Microsoft, and got the run around. Now we suspect, they were under Trade secret agreements and could not answer our questions. It seems that all stable TSR programs (or ones that simulate a TSR, like the Menu System I Plus Program Manager 3.0) must hook and chain the following interrupts back to their original vectors (as well as the normal interrupts which must be hooked): INT C8, INT CE, INT CF, INT F0, INT F3, INT F5, INT FD, and INT FF It is not clear why this must be done, but if you use one of the MCB chain walkers that are included with the book UNDOCUMENTED DOS (Authored by Andrew Schulman), you will see that all of the above mentioned programs do hook these interrupts, and happen to be the most stable on the market. This article as written by Mark Vitt on October 1st, 1991, EMAIL 70053,2236